By default, ignore case when testing inhibit-local-variables (bug#10610)
authorGlenn Morris <rgm@gnu.org>
Thu, 29 Nov 2012 01:13:33 +0000 (20:13 -0500)
committerGlenn Morris <rgm@gnu.org>
Thu, 29 Nov 2012 01:13:33 +0000 (20:13 -0500)
* lisp/files.el (inhibit-local-variables-ignore-case): New.
(inhibit-local-variables-p): Use inhibit-local-variables-ignore-case.
Doc fix.
(inhibit-local-variables-regexps, inhibit-local-variables-suffixes):
Doc fixes.

lisp/ChangeLog
lisp/files.el

index 852d2282c8f0aa901cac74b9b917a97d3aa101dc..ae948180552749ab75bf508589386d127bb8c237 100644 (file)
@@ -1,3 +1,11 @@
+2012-11-29  Glenn Morris  <rgm@gnu.org>
+
+       * files.el (inhibit-local-variables-ignore-case): New.  (Bug#10610)
+       (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case.
+       Doc fix.
+       (inhibit-local-variables-regexps, inhibit-local-variables-suffixes):
+       Doc fixes.
+
 2012-11-28  Jay Belanger  <jay.p.belanger@gmail.com>
 
        * calc/calc-forms.el (calc-date-notation): Fix regexp
index 496f9bf8fa47fa7306a4130e16c3789f95258b4b..c22cfd6954905dd863deec627b556fe7f3b32184 100644 (file)
@@ -2502,25 +2502,31 @@ They may happen to contain sequences that look like local variable
 specifications, but are not really, or they may be containers for
 member files with their own local variable sections, which are
 not appropriate for the containing file.
-See also `inhibit-local-variables-suffixes'.")
+The function `inhibit-local-variables-p' uses this.")
 
 (define-obsolete-variable-alias 'inhibit-first-line-modes-suffixes
   'inhibit-local-variables-suffixes "24.1")
 
 (defvar inhibit-local-variables-suffixes nil
   "List of regexps matching suffixes to remove from file names.
-When checking `inhibit-local-variables-regexps', we first discard
-from the end of the file name anything that matches one of these regexps.")
+The function `inhibit-local-variables-p' uses this: when checking
+a file name, it first discards from the end of the name anything that
+matches one of these regexps.")
+
+;; Can't think of any situation in which you'd want this to be nil...
+(defvar inhibit-local-variables-ignore-case t
+  "Non-nil means `inhibit-local-variables-p' ignores case.")
 
-;; TODO explicitly add case-fold-search t?
 (defun inhibit-local-variables-p ()
   "Return non-nil if file local variables should be ignored.
 This checks the file (or buffer) name against `inhibit-local-variables-regexps'
-and `inhibit-local-variables-suffixes'."
+and `inhibit-local-variables-suffixes'.  If
+`inhibit-local-variables-ignore-case' is non-nil, this ignores case."
   (let ((temp inhibit-local-variables-regexps)
        (name (if buffer-file-name
                  (file-name-sans-versions buffer-file-name)
-               (buffer-name))))
+               (buffer-name)))
+       (case-fold-search inhibit-local-variables-ignore-case))
     (while (let ((sufs inhibit-local-variables-suffixes))
             (while (and sufs (not (string-match (car sufs) name)))
               (setq sufs (cdr sufs)))